package bairui.international.model.domain.jpa;

/**
 *
 * @see TB_Admin 管理员
 *
 */
public class TestData_TB_Admin
{

	private final static org.apache.commons.text.RandomStringGenerator Generator = new org.apache.commons.text.RandomStringGenerator.Builder().withinRange(new char[][]{{'a','z'}, {'A','Z'}, {'0','9'}}).build();

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@org.springframework.transaction.annotation.Transactional(rollbackFor=java.lang.Throwable.class)
	public static TB_Admin saveMust(
		org.springframework.context.ApplicationContext context
		
	){
		org.springframework.data.jpa.repository.JpaRepository repository = (org.springframework.data.jpa.repository.JpaRepository)context.getBean("repository_Admin");
		return (TB_Admin)repository.save(newMust(
				
			));
	}
	
	public static TB_Admin newMust(
		
	){
		return new TB_Admin(new TB_Admin.MustProperties() {
			/** 操作者类型 */
			@Override public com.sh_lianjing.project.authority.model.type.Type_Operator getOperatorType(){
				return com.sh_lianjing.project.authority.model.type.Type_Operator.None;
			}
			/** 冻结标识 */
			@Override public Boolean getFreezenFlag(){
				return new java.util.Random().nextBoolean();
			}
			/** 操作者名称 */
			@Override public String getOperatorName(){
				return Generator.generate(0, 25);
			}
			/** 用户名 */
			@Override public String getUsername(){
				return Generator.generate(0, 25);
			}
			/** 密码 */
			@Override public String getPassword(){
				return Generator.generate(6, 50);
			}
			/** 姓名 */
			@Override public String getName(){
				return Generator.generate(0, 20);
			}
			/** 工号 */
			@Override public String getNumber(){
				return Generator.generate(0, 32);
			}
			/** 手机号 */
			@Override public String getMobilePhone(){
				return Generator.generate(3, 18);
			}
			/** 性别 */
			@Override public bairui.international.model.type.Type_Gender getGender(){
				return bairui.international.model.type.Type_Gender.Man;
			}
			/** 在职状态 */
			@Override public bairui.international.model.status.State_Employee getState(){
				return bairui.international.model.status.State_Employee.Working;
			}
			/** 修改默认密码标志 */
			@Override public Boolean getChangeDefaultPasswordFlag(){
				return new java.util.Random().nextBoolean();
			}
		});
	}
	

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@org.springframework.transaction.annotation.Transactional(rollbackFor=java.lang.Throwable.class)
	public static TB_Admin saveAll(
		org.springframework.context.ApplicationContext context
		
	){
		org.springframework.data.jpa.repository.JpaRepository repository = (org.springframework.data.jpa.repository.JpaRepository)context.getBean("repository_Admin");
		return (TB_Admin)repository.save(newAll(
				
			));
	}
	
	public static TB_Admin newAll(
		
	){
		return new TB_Admin(
			new TB_Admin.MustProperties() {
				/** 操作者类型 */
				@Override public com.sh_lianjing.project.authority.model.type.Type_Operator getOperatorType(){
					return com.sh_lianjing.project.authority.model.type.Type_Operator.None;
				}
				/** 冻结标识 */
				@Override public Boolean getFreezenFlag(){
					return new java.util.Random().nextBoolean();
				}
				/** 操作者名称 */
				@Override public String getOperatorName(){
					return Generator.generate(0, 25);
				}
				/** 用户名 */
				@Override public String getUsername(){
					return Generator.generate(0, 25);
				}
				/** 密码 */
				@Override public String getPassword(){
					return Generator.generate(6, 50);
				}
				/** 姓名 */
				@Override public String getName(){
					return Generator.generate(0, 20);
				}
				/** 工号 */
				@Override public String getNumber(){
					return Generator.generate(0, 32);
				}
				/** 手机号 */
				@Override public String getMobilePhone(){
					return Generator.generate(3, 18);
				}
				/** 性别 */
				@Override public bairui.international.model.type.Type_Gender getGender(){
					return bairui.international.model.type.Type_Gender.Man;
				}
				/** 在职状态 */
				@Override public bairui.international.model.status.State_Employee getState(){
					return bairui.international.model.status.State_Employee.Working;
				}
				/** 修改默认密码标志 */
				@Override public Boolean getChangeDefaultPasswordFlag(){
					return new java.util.Random().nextBoolean();
				}
			},
			new TB_Admin.OptionalSingleProperties() {
				/** 邮箱 */
				@Override public String getMail(){
					return Generator.generate(0, 200);
				}
				/** 座机号 */
				@Override public String getFixedPhone(){
					return Generator.generate(3, 18);
				}
				/** 备注 */
				@Override public String getComment(){
					return Generator.generate(0, 500);
				}
			}
		);
	}
	

}
